
Ext.define('gestionConf.LBForm', {
    extend: 'Ext.form.Panel',
    alias: 'widget.LBform',
    requires: ['Ext.form.field.Text'],
    initComponent: function(){		
        Ext.apply(this, {
            activeRecord: null,
            iconCls: 'icon-lb',
            frame: true,
            defaultType: 'textfield',
            bodyPadding: 20,
            fieldDefaults: {
                anchor: '100%',
            },
            items: [{
                fieldLabel: 'Id',
                name: 'id',
                type: 'int',
                itemId: 'id',
                hidden: true,
            },{
                fieldLabel: 'IdFase',
                name: 'id_Fase',
                type: 'int',
                itemId: 'idFase',
                hidden: true,
            },{
                fieldLabel: '<b>Nombre</b>',
                name: 'nombre',
                fieldStyle: 'background-color: transparent; border: none; background-image: none;',
                itemId: 'nombre',
            },{
                fieldLabel: '<b>Nº Items</b>',
                name: 'numeroItems',
                fieldStyle: 'background-color: transparent; border: none; background-image: none;',
                type: 'int',
                itemId: 'nroItems',
            },{
                fieldLabel: '<b>Estado</b>',
                name: 'estado',
                fieldStyle: 'background-color: transparent; border: none; background-image: none;',
                itemId: 'estado',
            },{
                fieldLabel: '<b>Costo</b>',
                name: 'costo',
                fieldStyle: 'background-color: transparent; border: none; background-image: none;',
                type: 'int',
                itemId: 'costo',
            }],
            dockedItems: [{
				xtype: 'toolbar',
				items: [
						{
						iconCls: 'icon-romper',
						itemId: 'romper',
						text: '<b>Romper</b>',
						hidden: true,
						scope: this, 
						handler: this.onRomper
					},{
						iconCls: 'icon-cerrar-lb',
						itemId: 'cerrar-lb',
						text: '<b>Cerrar</b>',
						hidden: true,
						scope: this, 
						handler: this.onCerrarLB
					},{
						iconCls: 'icon-generar',
						itemId: 'generar',
						text: '<b>Generar</b>',
						//hidden: true,
						scope: this, 
						handler: this.onGenerar
					},{}]
				},{
				weight: 1,
                xtype: 'toolbar',
                dock: 'bottom',
                items: ['->',{
						iconCls: 'icon-grafo',
						itemId: 'grafoLB',
						text: '<b>Grafo LB</b>',
						hidden: true,
						scope: this, 
						handler: this.onGrafoLB
						
					},{
						iconCls: 'icon-item',
						itemId: 'item',
						text: '<b>Items</b>',
						hidden: true,
						scope: this, 
						handler: this.onItem
					},{
                    iconCls: 'icon-reset',
                    text: '<b>Reset</b>',
                    scope: this,
                    handler: this.onReset
                }]
            }]
        });
        this.callParent();
    },

    setActiveRecord: function(record){
        this.activeRecord = record;
        if (record) {
			
            this.down('#romper').show(); 
            this.down('#item').show();
            this.down('#grafoLB').show();
            this.down('#cerrar-lb').show(); 
            this.down('#generar').hide();                    
            this.getForm().loadRecord(record);
            
        } else {
            
            this.down('#romper').hide();
            this.down('#item').hide();
            this.down('#grafoLB').hide();
            this.down('#cerrar-lb').hide();
            this.down('#generar').show(); 
            //this.getForm().reset();
            this.down('#id').setValue("");
            this.down('#nombre').setValue("");
            this.down('#nroItems').setValue("");
            this.down('#costo').setValue("");
            this.down('#estado').setValue("");
            
        }
    },

	
	onRomper: function(){
			var form = this.getForm();
	            form.submit({                        
				url: 'romper_linea_base',
				params: {	submit: 'submit'	},
				method: "post",
			   success: function(form, action) {
								var jsonData = Ext.JSON.decode(action.response.responseText);								
								var resultMessage = jsonData['mensaje'];
								Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
													msg: resultMessage, 	icon: 'ext-mb-ok',
								});/*
						Ext.Msg.show({  
							title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
							msg: 'Operacion Romper Linea Base completada', //<- El mensaje  
							icon: 'ext-mb-ok',
						});*/
					this.fireEvent('refresh');
				},
				scope: this,                        
				failure: function(form, action) {
								var jsonData = Ext.JSON.decode(action.response.responseText);								
								var resultMessage = jsonData['mensaje'];
								Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
													msg: resultMessage, 	icon: 'ext-mb-error',
								});/*									
							Ext.Msg.show({  
								title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
								msg: 'Erro en la operacion Romper Linea Base ', //<- El mensaje  
								icon: 'ext-mb-error',
							});*/
				}
			});
	},
	
	onCerrarLB: function(){
			var form = this.getForm();
	            form.submit({                        
				url: 'cerrar_linea_base',
				params: {	submit: 'submit'	},
				method: "post",
			   success: function(form, action) {
				   		var jsonData = Ext.JSON.decode(action.response.responseText);								
								var resultMessage = jsonData['mensaje'];
								Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
													msg: resultMessage, 	icon: 'ext-mb-ok',
								});/*
						Ext.Msg.show({  
							title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
							msg: 'Operacion Cerrar Linea Base completada', //<- El mensaje  
							icon: 'ext-mb-ok',
						});*/
					this.fireEvent('refresh');
				},
				scope: this,                        
				failure: function(form, action) {
								var jsonData = Ext.JSON.decode(action.response.responseText);								
								var resultMessage = jsonData['mensaje'];
								Ext.Msg.show({ 		title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
													msg: resultMessage, 	icon: 'ext-mb-error',
								});/*										
							Ext.Msg.show({  
								title: '<br><p align="center"><b>ALPHA MANAGER</b></p>', //<- el título del diálogo  
								msg: 'Erro en la operacion Cerrar Linea Base ', //<- El mensaje  
								icon: 'ext-mb-error',
							});*/
				}
			});
	},
	
	onGrafoLB: function(){
			var form = this.getForm();
			nombre = extraer(form.getValues(true), '&nombre=', '&numeroItems=');
			id = extraer(form.getValues(true), 'id=', '&'); 
				  
				var winGrafo = Ext.create('widget.window', {
					x:350,
					y: 170,
					resizable   : false,
					//draggable   : false,
					iconCls: 'icon-grafo',
					title: 'Grafo Linea Base: ' + nombre ,
					closable: true,
					bodyStyle: 'background-color: #fff;',
					layout: 'fit',
					items: [{
						border: false
					},img = Ext.create('Ext.Img',{
					  id: 'img2',
					   height :400,
					   width: 650,
					   name: 'imgx',
					   src: 'grafo_LB/' + id
					})]
				});
				winGrafo.show();           
	},
	
	onGenerar: function(){
			var form = this.getForm();
			this.fireEvent('ddGenerar', form.getValues(true));            
	},	
	
	onItem: function(){
			var form = this.getForm();
			this.fireEvent('ddItems', form.getValues(true));            
	},		

    onReset: function(){
        this.setActiveRecord(null);
        //this.getForm().reset();
        this.fireEvent('refresh');
    },

    
});
